$(function () {
    //0 复选框全选事件
    $("#phyProjectInformationFather").click(function () {
        var isChecked = $(this).prop("checked");
        if (isChecked) {
            $(".phyProjectInformationSon").prop("checked", true);
        } else {
            $(".phyProjectInformationSon").prop("checked", false);
        }
    });

    //1 项目信息界面 获取所有项目数据
    $.ajax({
        url: "/hospital/project/all.action",
        type: "GET",
        dataType: "json",
        success: function (data) {
            var $list = $("#tb_phyProject");
            $.each(data, function (index, ele) {
                var $item = createDataItem(index, ele);
                $list.append($item);
            });
        },
        error: function () {
            alert("获取数据失败");
        }
    });

    //1.1 动态创建一条数据
    function createDataItem(index, data) {
        var $item = $("" + "<tr>\n" +
            "            <td style=\"width:30px;\"><input class=\"phyProjectInformationSon\" type=\"checkbox\"></td>\n" +
            "            <td>" + data.id + "</td>\n" +
            "            <td>" + data.proName + "</td>\n" +
            "            <td>" + data.ofcName + "</td>\n" +
            "            <td>" + data.proNorm + "</td>\n" +
            "            <td><button class=\"phyProjectInformationUpdateBtn\">编辑</button><button class=\"phyProjectInformationCancelBtn\">删除</button>\n" +
            "        </tr>");
        return $item;
    }

    //2. 新增项目按钮点击事件
    $("#phyProjectOperAddBtn").click(function () {
        $(".phyProjectInformation").css("display", "none");
        $(".addNewProject").css("display", "block");
        //2.1 查找所有科室
        $("#addNewProjectOfcInput").html("");
        $("#addNewProjectOfcInput").append("<option value=''>请选择项目科室</option>");
        $.ajax({
            url: "/hospital/office/all.action",
            type: "GET",
            dataType: "json",
            success: function (data) {
                $.each(data, function (index, ele) {
                    $("#addNewProjectOfcInput").append("<option value='" + ele.id + "'>" + ele.ofcName + "</option>")
                });
            },
            error: function () {
                alert("获取科室失败");
            }
        });
    });
    //2.2 新增项目界面 确认按钮点击事件
    $("#addNewProjectInputSureBtn").click(function () {
        //获取用户输入的数据
        var name = $("#addNewProjectNameInput").val();
        var norm = $("#addNewProjectNormInput").val();
        var ofcId = $("#addNewProjectOfcInput option:selected").val();
        $.ajax({
            url: "/hospital/project/add.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({
                "proName": name,
                "proNorm": norm,
                "ofcId": ofcId
            }),
            success: function (data) {
                //发送数据成功，返回成功数据，隐藏新增信息界面，显示表格数据
                var $list = $("#tb_phyProject");
                //1.清空表格数据
                $("#tb_phyProject tr:not(:first)").html("");
                //2.动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
                alert("添加成功");
                $(".phyProjectInformation").css("display", "block");
                $(".addNewProject").css("display", "none");
            },
            error: function () {
                alert("添加失败");
            }
        });
    });
    //2.3 新增项目界面 返回按钮点击事件
    $("#addNewProjectInputBackBtn").click(function () {
        $(".phyProjectInformation").css("display", "block");
        $(".addNewProject").css("display", "none");
    });

    //2.4 新增项目界面 输入框失去焦点事件
    $("#addNewProjectNameInput").on("blur", function () {
        var name = $(this).val();
        if ($.trim(name).length == 0) {
            $("#judgeName").html("/*项目名称不能为空*/");
        } else {
            $("#judgeName").remove();
        }
    });
    $("#addNewProjectNormInput").on("blur", function () {
        var norm = $(this).val();
        if ($.trim(norm).length == 0) {
            $("#judgeNorm").html("/*参考指标不能为空*/");
        } else {
            $("#judgeNorm").remove();
        }
    });

    //3 查询按钮事件
    $("#phyProjectOperSelectBtn").click(function () {
        var name = $("#phyProjectOperSelectInput").val();
        $.ajax({
            url: "/hospital/project/proName.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"proName": name}),
            success: function (data) {
                //查询成功，返回成功数据
                var $list = $("#tb_phyProject");
                //1.清空表格数据
                $("#tb_phyProject tr:not(:first)").html("");
                //2.动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
            },
            error: function () {
                alert("查询失败");
            }
        });
    });

    //4.1 编辑按钮事件委托
    $("#tb_phyProject").delegate(".phyProjectInformationUpdateBtn", "click", function () {
        //4.1.1 打开编辑界面 获取修改前的数据
        $(".phyProjectUpdateBtnClickGetInfo").css("display", "block");
        $("#over").css("display", "block");
        var $value = $(this).parents("tr")[0];
        var num1 = $value.children[2].innerHTML;
        var num2 = $value.children[3].innerHTML;
        var num3 = $value.children[4].innerHTML;
        $("#getPhyProjectName").val(num1);
        $("#getPhyProjectBeginTime").val(num2);
        $("#getPhyProjectEndTime").val(num3);
        //4.1.2 编辑界面 确认按钮点击
        $("#phyProjectUpdateBtnClickGetInfoSureBtn").unbind("click").click(function () {
            //获取修改后的数据
            var id = $value.children[1].innerHTML;
            var name = $("#getPhyProjectName").val();
            var norm = $("#getPhyProjectEndTime").val(); //参考指标

            //发送数据 修改批次信息
            $.ajax({
                url: "/hospital/project/update.action",
                type: "POST",
                dataType: "json",
                contentType: "application/json;charset=utf-8",
                data: JSON.stringify({
                    "id": id,
                    "proName": name,
                    "proNorm": norm
                }),
                success: function (data) {
                    //编辑成功，返回成功数据
                    var $list = $("#tb_phyProject");
                    //1.清空表格数据
                    $("#tb_phyProject tr:not(:first)").html("");
                    //2.动态创建数据
                    $.each(data, function (index, ele) {
                        var $item = createDataItem(index, ele);
                        $list.append($item);
                    });
                    alert("修改成功");
                    //隐藏编辑界面
                    $(".phyProjectUpdateBtnClickGetInfo").css("display", "none");
                    $("#over").css("display", "none");
                },
                error: function () {
                    alert("编辑失败");
                }
            });
        });
        //4.1.3 编辑界面 返回按钮点击事件
        $("#phyProjectUpdateBtnClickGetInfoBackBtn").click(function () {
            $(".phyProjectUpdateBtnClickGetInfo").css("display", "none");
            $("#over").css("display", "none");
        });
    });
    //4.2 操作栏 删除按钮事件委托
    $("#tb_phyProject").delegate(".phyProjectInformationCancelBtn", "click", function () {
        var id = $(this).parents("tr")[0].children[1].innerHTML;
        $.ajax({
            url: "/hospital/project/delete.action",
            type: "POST",
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify({"id": id}),
            success: function (data) {
                //删除成功，返回成功数据
                var $list = $("#tb_phyProject");
                //1.清空表格数据
                $("#tb_phyProject tr:not(:first)").html("");
                //2.动态创建数据
                $.each(data, function (index, ele) {
                    var $item = createDataItem(index, ele);
                    $list.append($item);
                });
                alert("删除成功");
            },
            error: function () {
                alert("删除失败");
            }
        });
    });
});